package com.lyj.sc.dynamicProgramming;

/**
 * @Author: liyangjing
 * @Date: 2022/07/07/22:30
 * @Description:
 */
public class butongdeerchasousuoshu {
    public static int numTrees(int n) {
        //初始化 dp数组
        int [] dp = new int[n+1];
        //初始化0节点和1个节点的情况
        dp[0]=1;
        dp[1]=1;
        for(int i=2;i<=n;i++){
            for(int j =1;j<=i;i++){
                //对于第i个节点，需要考虑1作为根节点知道i作为根节点的情况
                //一个i个节点，对于根节点j时
                dp[i] +=dp[j-1]*dp[i-j];
            }
        }
        return dp[n];
    }
}
